Hard disks are typically grouped together in a storage array in order to increase fault tolerance, data integrity, and performance. Hard disks can be arranged in a Redundant Array of Independent Disks (RAID), which may include an array controller to manage data contained on each hard disk. There are various RAID “levels,” each corresponding to a different level of redundancy among hard disks.
Each hard disk contains firmware, which controls the hard disk's internal hardware and data access. The firmware can be updated or replaced through a process known as “flashing.” Currently, in order to flash hard disk firmware, the entire array must be powered down because data cannot be read or written while flashing. After the flash is complete, the hard disk must be rebooted. Accordingly, the hard disk experiences downtime while the system is being flashed and rebooted. This process of flashing can be relatively long, even more so for a computer system using a large number of hard disks.